import { ClientGetSchema } from '#db/repositories/client/types'; export default definePermissionEventHandler( 'clients', 'view', async ({ event, checkPermissions }) => { const { clientId } = await getValidatedRouterParams( event, validateZod(ClientGetSchema, event) ); const result = await Database.clients.get(clientId); checkPermissions(result); if (!result) { throw createError({ statusCode: 404, statusMessage: 'Client not found', }); } // data can be undefined if the client is disabled const data = await WireGuard.dumpByPublicKey(result.publicKey); return { ...result, endpoint: data?.endpoint, }; } );